/*
 * LancamentoFinanceiro.java
 *
 * Created on October 12, 2007, 10:45 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package petstore.model;

import petstore.model.enumeration.TipoLancamento;
import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Entity class LancamentoFinanceiro
 * 
 * @author Tom Hayden
 */
@Entity
@Table(name = "lancamento_financeiro")
@AttributeOverrides( {
    @AttributeOverride(name="id", column=@Column(name="nrlancfinanc")),
    @AttributeOverride(name="description", column=@Column(name="txhistlancfinanc")),
    @AttributeOverride(name="active", column=@Column(name="ativo"))
})
public class LancamentoFinanceiro extends CodeData {

    @Column(name = "dtlancfinanc")
    @Temporal(TemporalType.TIMESTAMP)
    private Date dataLancamento;

    @Column(name = "lancCaixa")
    private boolean lancamentoCaixa;
    
    @Column(name = "lancFinanceiro")
    private boolean lancamentoFinanceiro;
    
    @Column(name = "vlrlancfinanc")
    private Double valorLancamento;

    @Column(name = "indlancamento")
    @Enumerated(EnumType.ORDINAL)
    private TipoLancamento indlancamento;

    @ManyToOne
    @JoinColumn(name="cdparcelapagar")
    private ParcelaPagar parcelaPagar;

    @ManyToOne
    @JoinColumn(name="cdparcelareceber")
    private ParcelaReceber parcelaReceber;
    
    /** Creates a new instance of LancamentoFinanceiro */
    public LancamentoFinanceiro() {
    }

    public Date getDataLancamento() {
        return dataLancamento;
    }

    public void setDataLancamento(Date dataLancamento) {
        this.dataLancamento = dataLancamento;
    }

    public boolean getLancamentoCaixa() {
        return lancamentoCaixa;
    }

    public void setLancamentoCaixa(boolean lancamentoCaixa) {
        this.lancamentoCaixa = lancamentoCaixa;
    }

    public boolean getLancamentoFinanceiro() {
        return lancamentoFinanceiro;
    }

    public void setLancamentoFinanceiro(boolean lancamentoFinanceiro) {
        this.lancamentoFinanceiro = lancamentoFinanceiro;
    }

    public Double getValorLancamento() {
        return valorLancamento;
    }

    public void setValorLancamento(Double valorLancamento) {
        this.valorLancamento = valorLancamento;
    }

    public TipoLancamento getIndlancamento() {
        return indlancamento;
    }

    public void setIndlancamento(TipoLancamento indlancamento) {
        this.indlancamento = indlancamento;
    }

    public ParcelaPagar getParcelaPagar() {
        return parcelaPagar;
    }

    public void setParcelaPagar(ParcelaPagar parcelaPagar) {
        this.parcelaPagar = parcelaPagar;
    }

    public ParcelaReceber getParcelaReceber() {
        return parcelaReceber;
    }

    public void setParcelaReceber(ParcelaReceber parcelaReceber) {
        this.parcelaReceber = parcelaReceber;
    }

}
